#include "tetrahedron.h"

Tetrahedron::Tetrahedron(int _id) : id(_id){
    color = Color(1.0, 1.0, 1.0, 0.5);
    selected = false;
}

Tetrahedron::Tetrahedron(int _id, std::vector<Face *> _f, std::vector<bool> _fs, Color _c) : id(_id), color(_c), faces(_f), facesSignals(_fs){
    selected = false;
}

Tetrahedron::~Tetrahedron(){
}

int Tetrahedron::getID() const{
    return id;
}

void Tetrahedron::select(bool _s){
    selected = _s;
}

bool Tetrahedron::isSelected(){
    return selected;
}

void Tetrahedron::setColor(Color _c){
    color = _c;
}

Color Tetrahedron::getColor(){
    return color;
}

void Tetrahedron::addFace(Face *_f, bool _b){
    faces.push_back(_f);
    facesSignals.push_back(_b);
}

Face *Tetrahedron::getFace(int _i){
    return faces.at(_i);
}

bool Tetrahedron::getFaceSignal(int _i){
    return facesSignals.at(_i);
}

std::vector<Face *> Tetrahedron::getFaces(){
    return faces;
}

void Tetrahedron::setFaces(std::vector<Face *> _f, std::vector<bool> _fs){
    faces = _f;
    facesSignals = _fs;
}

int Tetrahedron::facesSize(){
    return faces.size();
}

//void Tetrahedron::addEdge(Edge *_e){
//    edges.push_back(_e);
//}
//
//Edge *Tetrahedron::getEdge(int _i){
//    return edges.at(_i);
//}

void Tetrahedron::addVertex(Vertex *_v){
    vertices.push_back(_v);
}

Vertex *Tetrahedron::getVertex(int _i){
    return vertices.at(_i);
}

void Tetrahedron::print() const{
}
